﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ZOVNP.Model.Abstracts;

namespace ZOVNP.Engine
{
    /// <summary> Упрощённый интерфейс для доступа к доменным объектам некоторого типа. </summary>
    /// <remarks> Это внутренний интерфейс. Он необходим для разрешения конфликта имён методов <c>ToArray()</c> и <c>One()</c>. </remarks>
    internal interface IPlainQuery
    {
        /// <summary> Получить все объекты. </summary>
        /// <returns> Массив объектов. </returns>
        IDomainObject[] ToArray();

        /// <summary> Получить один объект. </summary>
        /// <param name="ID"> Идентификатор объекта. </param>
        /// <returns> Заданный доменный объект или null, если таковой не найден. </returns>
        IDomainObject One(Guid ID);
    }
}
